package com.excerise.thread;

/**
 * 实现第一问：
 *  1.编写程序，开启一个线程，该线程每隔1秒在控制台输出“线程案例一，我爱学习”
 *
 *
 * @author Way on 2021/7/23
 */
public class TestThread01 {

    public static void main(String[] args) throws InterruptedException {
        // 创建Cat对象，可以当作线程使用
        Cat cat = new Cat();
        // 启动线程
        cat.start();
        // 说明：当main线程启动一个子线程Thread-0时，主线程不会阻塞
        // 这时 主线程和子线程会交替执行
        System.out.println("主线程继续执行：" + Thread.currentThread().getName());
        // 主线程执行次数
        int mainTimes = 60;
        for (int i = 0; i < mainTimes; i++) {
            System.out.println("主线程 i=" + i);
            // 让主线程休眠
            Thread.sleep(1000);
        }
    }

}

/**
 * 继承Thread类之后，该类成为线程
 */
class Cat extends Thread {

    int times = 0;

    @Override
    public void run() {
        do {
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("线程案例一，我爱学习=" + (++times) + ",当前线程=" + Thread.currentThread().getName());
        } while (times != 80);
    }

}
